Personal computer systems in general and IBM personal computers in particular have attained widespread use for providing computer power to many segments of today's modern society. Personal computer systems can usually be defined as a desk top, floor standing, or portable microcomputer that consists of a system unit having a single system processor and associated volatile and non-volatile memory, a display monitor, a keyboard, one or more diskette drives, a fixed disk storage, and an optional printer. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. These systems are designed primarily to give independent computing power to a single user and are inexpensively priced for purchase by individuals or small businesses. Examples of such personal computer systems are IBM's PERSONAL COMPUTER AT and IBM's PERSONAL SYSTEM/2 Models 25, 30, 35, 40, L40SX, 50, 55, 56, 57, 65, 70, 80, 90 and 95.
These systems can be classified into two general families. The first family, usually referred to as Family I Models, use a bus architecture exemplified by the IBM PERSONAL COMPUTER AT and other "IBM compatible" machines. The second family, referred to as Family II Models, use IBM's MICRO CHANNEL bus architecture exemplified by IBM's PERSONAL SYSTEM/2 Models 50 through 95. The Family I models typically have used the popular INTEL 8088 or 8086 microprocessor as the system processor. These processors have the ability to address one megabyte of memory. Some Family I models and the Family II models typically use the high speed INTEL 80286, 80386, and 80486 microprocessors which can operate in a real mode to emulate the slower speed INTEL 8086 microprocessor or a protected mode which extends the addressing range from 1 megabyte to 4 Gigabytes for some models. In essence, the real mode feature of the 80286, 80386, and 80486 processors provide hardware compatibility with software written for the 8086 and 8088 microprocessors.
As used herein, the phrase "natural image video" refers to video signals which can be displayed under the protocols established by the National Television Standards Committee and comparable organizations around the world. Such video signals are commonly derived from video cameras capable of capturing images from naturally occurring events, and thus lead to the "natural image video" designation. However, such images have in recent time become susceptible to being digitized and manipulated or even generated as digital signals. Thus the interface between natural image video and computer displays arises.
In the arena of computer displays, an image is composed of a plurality of picture elements or pixels, each composed (for purposes of a color display of the type to which the present invention relates) of three colors, usually red, green and blue. In most conventional display devices, the brightness of a particular pixel is determined by an analog signal, namely the voltage applied to three electron beams, one representing each of red, green and blue. Because the circuits of the computer driving the display handle signals in digital form, a digital value is given for the depth of color intensity of each of the three colors, with the number of bits used to identify the characteristics of a pixel controlling the degree of depth available. The simplest level uses eight bits for color depth information, usually assigning three bits for each of red and green and two bits for blue. This level may be identified as RGB8.
In converting from the digital video signals to the analog signals used to drive the display device, a digital to analog converter is provided with registers in which is stored a color lookup table (or CLUT) of digital values from which corresponding analog signals are derived for each pixel. Where the digital signals are RGB8, the converter will use a CLUT8 conversion. Various graphics display standards in use in the computer industry enable varying degrees of color depth intensity, often as a tradeoff of definition available on screen. While RGB8 and CLUT8 operation are perhaps the most widely known and used, and thus the most economical to adopt and practice, RGB16 and RGB24 (using sixteen and twenty four bits, respectively to represent color depth intensities) are also known and used.
It can be difficult to map the 16.7 million colors available in a natural image into the limited color space provided by a conventional computer display graphic mode, such as a CLUT8 graphic mode. Such modes are available on computer display driver systems meeting specifications known in the computer industry as VGA and XGA (the latter being a registered trademark of the IBM Corporation, the owner of the invention described here). The problem is compounded when the requirement is added that live full motion must be supported. This means processing must take place real time (more than 12 million pixels per second) on unpredictable and uncontrollable image sequences at a reasonable cost with the technology available.
There may also be a realistic operating system requirement that out of the 256 color palette available in CLUT8, entries at both the bottom and top of the palette should not be changed to accommodate natural image display. They are reserved for system colors that other applications in a windowing environment expect to remain fixed or available for palette animation.